Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deGeometry Namespace Reference

Some useful geometry methods. More...


Functions

deBoolean BoxInBox (const deVec3d &OuterMin, const deVec3d &OuterMax, const deVec3d &InnerMin, const deVec3d &InnerMax)
 tests whether the inner AABB is actually inside the outer AABB

deBoolean BoxInBox (const deAABB &OuterBox, const deAABB &InnerBox)
 tests whether the inner box is actually inside the outer box

deBoolean BoxBoxIntersect (const deVec3d &Min1, const deVec3d &Max1, const deVec3d &Min2, const deVec3d &Max2)
 tests whether two AABBs intersect

deBoolean BoxBoxIntersect (const deAABB &Box1, const deAABB &Box2)
 tests whether two AABBs intersect

deBoolean PointInBox (const deVec3d &pt, const deVec3d &Min, const deVec3d &Max)
 tests whether a point lies within an AABB

deBoolean PointInBox (const deVec3d &pt, const deAABB &Box)
 tests whether a point lies within an AABB

deDouble PlaneDist (const deVec3d &pt, const deVec3d &norm, const deDouble &dist)
 returns the distance from a plane to a point, along the plane normal

deBoolean PointOnPlaneFront (const deVec3d &pt, const deVec3d &norm, const deDouble &dist)
 tests whether a point lies on the front of a plane (positive half-space)

deBoolean PointOnPlaneBack (const deVec3d &pt, const deVec3d &norm, const deDouble &dist)
 tests whether a point lies on the back of a plane (negative half-space)

deBoolean PointInAABB (const deVec3d &Point, const deVec3d &Min, const deVec3d &Max)
 tests whether a point lies within an AABB

void AABBCenter (const deAABB &bbox, deVec3d &vec)
 calculates the geometric center of an AABB

deDouble AABBDiagonal (const deAABB &BBox)
 calculates diagonal size of an AABB, from min to max points

deBoolean PointInAABB (const deVec3d &Point, const deAABB &Box)
 tests whether a point lies within an AABB

void AABBAddPoint (deAABB &BBox, const deVec3d &pt)
 expand a given AABB by adding a point. Result: BBox is enlarged to hold input BBox space and pt

void AABBUnion (deAABB &In_Out, const deAABB &Input)
 compute the union of two AABBs, and store the resulting AABB in the first argument (In_Out)

deBoolean AABBIntersect (const deVec3d &Min1, const deVec3d &Max1, const deVec3d &Min2, const deVec3d &Max2)
 test whether two AABBs intersect, using a half-open interval

deBoolean AABBIntersect (const deAABB &Box1, const deAABB &Box2)
 test whether two AABBs intersect, using a half-open interval

deBoolean AABBInAABB (const deVec3d &InMin, const deVec3d &InMax, const deVec3d &OutMin, const deVec3d &OutMax)
 tests whether the inner AABB is actually inside the outer AABB

deBoolean AABBInAABB (const deAABB &InBox, const deAABB &OutBox)
 tests whether the inner AABB is actually inside the outer AABB

int AABBPlaneClassify (const deAABB &BBox, const deVec3d &Norm, const deDouble &Dist)
deBoolean PlaneLineIntersect (const deVec3d &Norm, const deDouble &Dist, const deVec3d &Pt1, const deVec3d &Pt2, deVec3d &Res, deDouble &Percent)
 intersect a plane and a line segment

deBoolean PlaneRayIntersect (const deVec3d &Norm, const deDouble &Dist, const deVec3d &Start, const deVec3d &Dir, deDouble &Multiple)
 intersect a plane and a ray

deBoolean SphereRayIntersect (const deVec3d &Center, const deDouble &Radius, const deVec3d &Start, const deVec3d &Dir, deDouble &Multiple)
 intersect a sphere and a ray

deBoolean SphereLineIntersect (const deVec3d &Center, const deDouble &Radius, const deVec3d &Start, const deVec3d &End, deVec3d &Res, deDouble &Percent)
 intersect a sphere and a line segment

deBoolean AABBCollision (const deAABB &MovingBox, const deVec3d &MoveStart, const deVec3d &MoveEnd, const deAABB &StaticBox, const deVec3d &StaticPos, deVec3d &MovingColPt, deVec3d &ColNormal, deDouble &Percent)
 perform a linear-sweep AABB collision test

deBoolean ConstructAABB (const deVec3d *VecArray, long NumVecs, deVec3d &Min, deVec3d &Max)
 create an AABB that contains a set of points

deBoolean MakeOBBFromAABB (const deAABB &LocalBox, const deTransform &WorldMatrix, deOBB &WorldBox)
 create an OBB using an AABB and a transformation

deBoolean GetPointsOfAABB (const deAABB &BBox, deVec3d *ArrayOf8)
 get the 8 corners of an AABB

deBoolean GetPointsOfOBB (const deOBB &WorldBox, deVec3d *ArrayOf8)
 get the 8 corners of an OBB

deBoolean ConstructAABB (const deVec3d *VecArray, long NumVecs, deAABB &Box)
 create an AABB that contains a set of points

deBoolean MakeAABBFromOBB (const deOBB &InBox, deAABB &OutBox)
 create an AABB that contains an OBB

void MakeBoundSphereFromAABB (const deAABB &BBox, deBoundSphere &OutSphere)
 create a BSphere from an AABB

deBoolean RayOBBIntersect (const deVec3d &RayStart, const deVec3d &RayDir, const deOBB &Box, deVec3d &Result, deVec3d &Normal, deDouble &Percent)
 intersect an OBB and a ray

deBoolean PlaneLineIntersect (const dePlane &Plane, const deVec3d &Pt1, const deVec3d &Pt2, deVec3d &Res, deDouble &Percent)
 intersect a plane and a line segment

deBoolean PlaneRayIntersect (const dePlane &Plane, const deVec3d &Start, const deVec3d &Dir, deDouble &Multiple)
 intersect a plane and a ray

void Vec3d_Interpolate (deVec3d &Output, const deVec3d &In1, const deVec3d &In2, deDouble Percent)
 interpolate a Vec3d over a range [0,1]

void Vertex_Interpolate (deVertex &Output, const deVertex &In1, const deVertex &In2, deDouble Percent)
 interpolate a Vertex over a range [0,1]

void TexCoord_Interpolate (deTexCoord2 &Output, const deTexCoord2 &In1, const deTexCoord2 &In2, deDouble Percent)
 interpolate a TexCoord2 over a range [0,1]

void ARGB_Interpolate (deARGB &Output, deARGB Color1, deARGB Color2, deFloat Percent)
 interpolate an ARGB over a range [0,1]


Detailed Description

Some useful geometry methods.

Function Documentation

void AABBAddPoint deAABB   BBox,
const deVec3d   pt
[inline, static]
 

expand a given AABB by adding a point. Result: BBox is enlarged to hold input BBox space and pt

void AABBCenter const deAABB   bbox,
deVec3d   vec
[inline, static]
 

calculates the geometric center of an AABB

deBoolean deGeometry::AABBCollision const deAABB   MovingBox,
const deVec3d   MoveStart,
const deVec3d   MoveEnd,
const deAABB   StaticBox,
const deVec3d   StaticPos,
deVec3d   MovingColPt,
deVec3d   ColNormal,
deDouble   Percent
 

perform a linear-sweep AABB collision test

deDouble AABBDiagonal const deAABB   BBox [inline, static]
 

calculates diagonal size of an AABB, from min to max points

deBoolean AABBInAABB const deAABB   InBox,
const deAABB   OutBox
[inline, static]
 

tests whether the inner AABB is actually inside the outer AABB

deBoolean AABBInAABB const deVec3d   InMin,
const deVec3d   InMax,
const deVec3d   OutMin,
const deVec3d   OutMax
[inline, static]
 

tests whether the inner AABB is actually inside the outer AABB

deBoolean AABBIntersect const deAABB   Box1,
const deAABB   Box2
[inline, static]
 

test whether two AABBs intersect, using a half-open interval

deBoolean AABBIntersect const deVec3d   Min1,
const deVec3d   Max1,
const deVec3d   Min2,
const deVec3d   Max2
[inline, static]
 

test whether two AABBs intersect, using a half-open interval

int deGeometry::AABBPlaneClassify const deAABB   BBox,
const deVec3d   Norm,
const deDouble   Dist
 

classify where an AABB lies relative to a plane. -1 => all negative, 0 => intersects, 1 => all positive

void AABBUnion deAABB   In_Out,
const deAABB   Input
[inline, static]
 

compute the union of two AABBs, and store the resulting AABB in the first argument (In_Out)

void ARGB_Interpolate deARGB   Output,
deARGB    Color1,
deARGB    Color2,
deFloat    Percent
[inline, static]
 

interpolate an ARGB over a range [0,1]

deBoolean deGeometry::BoxBoxIntersect const deAABB   Box1,
const deAABB   Box2
 

tests whether two AABBs intersect

deBoolean deGeometry::BoxBoxIntersect const deVec3d   Min1,
const deVec3d   Max1,
const deVec3d   Min2,
const deVec3d   Max2
 

tests whether two AABBs intersect

deBoolean deGeometry::BoxInBox const deAABB   OuterBox,
const deAABB   InnerBox
 

tests whether the inner box is actually inside the outer box

deBoolean deGeometry::BoxInBox const deVec3d   OuterMin,
const deVec3d   OuterMax,
const deVec3d   InnerMin,
const deVec3d   InnerMax
 

tests whether the inner AABB is actually inside the outer AABB

deBoolean ConstructAABB const deVec3d   VecArray,
long    NumVecs,
deAABB   Box
[inline, static]
 

create an AABB that contains a set of points

deBoolean deGeometry::ConstructAABB const deVec3d   VecArray,
long    NumVecs,
deVec3d   Min,
deVec3d   Max
 

create an AABB that contains a set of points

deBoolean deGeometry::GetPointsOfAABB const deAABB   BBox,
deVec3d   ArrayOf8
 

get the 8 corners of an AABB

deBoolean deGeometry::GetPointsOfOBB const deOBB   WorldBox,
deVec3d   ArrayOf8
 

get the 8 corners of an OBB

deBoolean MakeAABBFromOBB const deOBB   InBox,
deAABB   OutBox
[inline, static]
 

create an AABB that contains an OBB

void MakeBoundSphereFromAABB const deAABB   BBox,
deBoundSphere   OutSphere
[inline, static]
 

create a BSphere from an AABB

deBoolean deGeometry::MakeOBBFromAABB const deAABB   LocalBox,
const deTransform   WorldMatrix,
deOBB   WorldBox
 

create an OBB using an AABB and a transformation

deDouble PlaneDist const deVec3d   pt,
const deVec3d   norm,
const deDouble   dist
[inline, static]
 

returns the distance from a plane to a point, along the plane normal

deBoolean PlaneLineIntersect const dePlane   Plane,
const deVec3d   Pt1,
const deVec3d   Pt2,
deVec3d   Res,
deDouble   Percent
[inline, static]
 

intersect a plane and a line segment

deBoolean deGeometry::PlaneLineIntersect const deVec3d   Norm,
const deDouble   Dist,
const deVec3d   Pt1,
const deVec3d   Pt2,
deVec3d   Res,
deDouble   Percent
 

intersect a plane and a line segment

deBoolean PlaneRayIntersect const dePlane   Plane,
const deVec3d   Start,
const deVec3d   Dir,
deDouble   Multiple
[inline, static]
 

intersect a plane and a ray

deBoolean deGeometry::PlaneRayIntersect const deVec3d   Norm,
const deDouble   Dist,
const deVec3d   Start,
const deVec3d   Dir,
deDouble   Multiple
 

intersect a plane and a ray

deBoolean PointInAABB const deVec3d   Point,
const deAABB   Box
[inline, static]
 

tests whether a point lies within an AABB

deBoolean PointInAABB const deVec3d   Point,
const deVec3d   Min,
const deVec3d   Max
[inline, static]
 

tests whether a point lies within an AABB

deBoolean deGeometry::PointInBox const deVec3d   pt,
const deAABB   Box
 

tests whether a point lies within an AABB

deBoolean deGeometry::PointInBox const deVec3d   pt,
const deVec3d   Min,
const deVec3d   Max
 

tests whether a point lies within an AABB

deBoolean PointOnPlaneBack const deVec3d   pt,
const deVec3d   norm,
const deDouble   dist
[inline, static]
 

tests whether a point lies on the back of a plane (negative half-space)

deBoolean PointOnPlaneFront const deVec3d   pt,
const deVec3d   norm,
const deDouble   dist
[inline, static]
 

tests whether a point lies on the front of a plane (positive half-space)

deBoolean deGeometry::RayOBBIntersect const deVec3d   RayStart,
const deVec3d   RayDir,
const deOBB   Box,
deVec3d   Result,
deVec3d   Normal,
deDouble   Percent
 

intersect an OBB and a ray

deBoolean deGeometry::SphereLineIntersect const deVec3d   Center,
const deDouble   Radius,
const deVec3d   Start,
const deVec3d   End,
deVec3d   Res,
deDouble   Percent
 

intersect a sphere and a line segment

deBoolean deGeometry::SphereRayIntersect const deVec3d   Center,
const deDouble   Radius,
const deVec3d   Start,
const deVec3d   Dir,
deDouble   Multiple
 

intersect a sphere and a ray

void TexCoord_Interpolate deTexCoord2   Output,
const deTexCoord2   In1,
const deTexCoord2   In2,
deDouble    Percent
[inline, static]
 

interpolate a TexCoord2 over a range [0,1]

void Vec3d_Interpolate deVec3d   Output,
const deVec3d   In1,
const deVec3d   In2,
deDouble    Percent
[inline, static]
 

interpolate a Vec3d over a range [0,1]

void Vertex_Interpolate deVertex   Output,
const deVertex   In1,
const deVertex   In2,
deDouble    Percent
[inline, static]
 

interpolate a Vertex over a range [0,1]


Generated on Mon Sep 12 20:19:13 2005 for Destiny3D by doxygen1.3-rc3